﻿using Inovout.Models;
using System.Collections.Generic;
using System.Linq;

namespace Inovout.Services
{
    public interface IRepositoryService<TEntity>
    {
        void Save(TEntity model);
        void Delete(object id);
        TEntity FindById(object id);
        IEnumerable<TEntity> FindAll();
        IDataObjectPagedSet<TEntity> FindAll(int pageIndex, int pageSize = 20);
        int Count();
        bool IsUnique(object id, string propertyName, object propertyVallue);
        IQueryable<TEntity> Query();
    }
}
